home *** CD-ROM | disk | FTP | other *** search
/ All for Cell Phones: Sony Ericsson / Sony-Ericsson 2004.iso / Java / 3d Shooter / ThreeDShooter.jar / Lib.class (.txt) < prev    next >
Encoding:
Java Class File  |  2001-11-03  |  3.2 KB  |  207 lines

  1. public abstract class Lib {
  2.    public static final int MAX_VALUE = Integer.MAX_VALUE;
  3.    public static final int MIN_VALUE = -2147483647;
  4.    // $FF: renamed from: E int
  5.    public static final int field_0 = 11134;
  6.    // $FF: renamed from: PI int
  7.    public static final int field_1 = 12868;
  8.    // $FF: renamed from: a int[]
  9.    private static final int[] field_2 = new int[]{0, 71, 142, 214, 285, 357, 428, 499, 570, 641, 711, 781, 851, 921, 990, 1060, 1128, 1197, 1265, 1333, 1400, 1468, 1534, 1600, 1665, 1730, 1795, 1859, 1922, 1985, 2048, 2109, 2170, 2230, 2290, 2349, 2407, 2464, 2521, 2577, 2632, 2686, 2740, 2793, 2845, 2896, 2946, 2995, 3043, 3091, 3137, 3183, 3227, 3271, 3313, 3355, 3395, 3434, 3473, 3510, 3547, 3582, 3616, 3649, 3681, 3712, 3741, 3770, 3797, 3823, 3849, 3872, 3895, 3917, 3937, 3956, 3974, 3991, 4006, 4020, 4033, 4045, 4056, 4065, 4073, 4080, 4086, 4090, 4093, 4095, 4096};
  10.    public static final int ZERO = fixedPoint(0);
  11.    public static final int ONE = fixedPoint(1);
  12.    public static final int MINUS_ONE = fixedPoint(-1);
  13.  
  14.    private Lib() {
  15.    }
  16.  
  17.    public static int fixedPoint(int var0) {
  18.       return var0 << 12;
  19.    }
  20.  
  21.    public static int fixedPoint(String var0) {
  22.       byte var1 = 0;
  23.       if (var0.charAt(0) == '-') {
  24.          var1 = 1;
  25.       }
  26.  
  27.       String var2 = "-1";
  28.       int var3 = var0.indexOf(46);
  29.       if (var3 >= 0) {
  30.          for(var2 = var0.substring(var3 + 1, var0.length()); var2.length() < 4; var2 = var2 + "0") {
  31.          }
  32.  
  33.          if (var2.length() > 4) {
  34.             var2 = var2.substring(0, 4);
  35.          }
  36.       } else {
  37.          var3 = var0.length();
  38.       }
  39.  
  40.       int var4 = Integer.parseInt(var0.substring(var1, var3));
  41.       int var5 = Integer.parseInt(var2) + 1;
  42.       int var6 = (var4 << 12) + (var5 << 12) / 10000;
  43.       if (var1 == 1) {
  44.          var6 = -var6;
  45.       }
  46.  
  47.       return var6;
  48.    }
  49.  
  50.    public static int intValue(int var0) {
  51.       if (var0 >= 0) {
  52.          var0 += 2048;
  53.       } else {
  54.          var0 -= 2048;
  55.       }
  56.  
  57.       return var0 >> 12;
  58.    }
  59.  
  60.    public static int div(int var0, int var1) {
  61.       boolean var2 = false;
  62.       if (var1 == 4096) {
  63.          return var0;
  64.       } else if ((var1 & 4095) == 0) {
  65.          return var0 / (var1 >> 12);
  66.       } else {
  67.          if (var0 < 0) {
  68.             var0 = -var0;
  69.             var2 = true;
  70.          }
  71.  
  72.          if (var1 < 0) {
  73.             var1 = -var1;
  74.             if (var2) {
  75.                var2 = false;
  76.             } else {
  77.                var2 = true;
  78.             }
  79.          }
  80.  
  81.          byte var3 = 0;
  82.          if (var0 > 413695) {
  83.             var3 = 3;
  84.          }
  85.  
  86.          if (var0 > 4100095) {
  87.             var3 = 4;
  88.          }
  89.  
  90.          if (var0 > 8257535) {
  91.             var3 = 6;
  92.          }
  93.  
  94.          if (var0 > 32833535) {
  95.             var3 = 8;
  96.          }
  97.  
  98.          if (var0 > 132120575) {
  99.             var3 = 10;
  100.          }
  101.  
  102.          if (var3 > 0) {
  103.             int var4 = 2 << var3 - 1;
  104.             var0 += var4;
  105.             var1 += var4;
  106.          }
  107.  
  108.          int var5 = (var0 << 12 - var3) / (var1 >> var3);
  109.          return var2 ? -var5 : var5;
  110.       }
  111.    }
  112.  
  113.    public static int mul(int var0, int var1) {
  114.       boolean var2 = false;
  115.       if ((var0 & 4095) == 0) {
  116.          return (var0 >> 12) * var1;
  117.       } else if ((var1 & 4095) == 0) {
  118.          return var0 * (var1 >> 12);
  119.       } else {
  120.          if (var0 < 0 && var1 > 0 || var0 > 0 && var1 < 0) {
  121.             var2 = true;
  122.          }
  123.  
  124.          if (var0 < 0) {
  125.             var0 = -var0;
  126.          }
  127.  
  128.          if (var1 < 0) {
  129.             var1 = -var1;
  130.          }
  131.  
  132.          byte var3 = 0;
  133.          if (var0 > 413695 || var1 > 413695) {
  134.             var3 = 2;
  135.          }
  136.  
  137.          if (var0 > 4100095 || var1 > 4100095) {
  138.             var3 = 4;
  139.          }
  140.  
  141.          if (var0 > 41025535 || var1 > 41025535) {
  142.             var3 = 6;
  143.          }
  144.  
  145.          if (var3 > 0) {
  146.             int var4 = 2 << var3 - 1;
  147.             var0 += var4;
  148.             var1 += var4;
  149.          }
  150.  
  151.          int var6 = (var0 >> 12) * (var1 >> 12) << 12;
  152.          int var5 = (var0 & 4095) * (var1 & 4095) >> 12;
  153.          var5 += ((var0 & -4096) >> var3) * ((var1 & 4095) >> var3) >> 12 - (var3 << 1);
  154.          var6 = var6 + var5 + (((var0 & 4095) >> var3) * ((var1 & -4096) >> var3) >> 12 - (var3 << 1));
  155.          if (var6 < 0) {
  156.             throw new ArithmeticException("Overflow");
  157.          } else {
  158.             return var2 ? -var6 : var6;
  159.          }
  160.       }
  161.    }
  162.  
  163.    public static int add(int var0, int var1) {
  164.       return var0 + var1;
  165.    }
  166.  
  167.    public static int sub(int var0, int var1) {
  168.       return var0 - var1;
  169.    }
  170.  
  171.    public static int abs(int var0) {
  172.       return var0 < 0 ? -var0 : var0;
  173.    }
  174.  
  175.    public static int sin(int var0) {
  176.       int var1;
  177.       for(var1 = 0; var0 < 0; var0 += 25736) {
  178.       }
  179.  
  180.       if (var0 > 25736) {
  181.          var0 %= 25736;
  182.       }
  183.  
  184.       int var2 = var0 * 10 / 714;
  185.       if (var0 != 0 && var0 != 6434 && var0 != 12868 && var0 != 19302 && var0 != 25736) {
  186.          var1 = var0 * 100 / 714 - var2 * 10;
  187.       }
  188.  
  189.       if (var2 <= 90) {
  190.          return method_0(var2, var1);
  191.       } else if (var2 <= 180) {
  192.          return method_0(180 - var2, var1);
  193.       } else {
  194.          return var2 <= 270 ? -method_0(var2 - 180, var1) : -method_0(360 - var2, var1);
  195.       }
  196.    }
  197.  
  198.    // $FF: renamed from: a (int, int) int
  199.    private static int method_0(int var0, int var1) {
  200.       return var1 > 0 && var1 < 10 && var0 < 90 ? field_2[var0] + (field_2[var0 + 1] - field_2[var0]) / 10 * var1 : field_2[var0];
  201.    }
  202.  
  203.    public static int cos(int var0) {
  204.       return sin(var0 + 6435);
  205.    }
  206. }
  207.